package org.springblade.modules.repair.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.repair.dto.PlanAbarbeitungSearchDTO;
import org.springblade.modules.repair.entity.MaintainAbarbeitungDetail;
import org.springblade.modules.repair.vo.FromPlanVO;
import org.springblade.modules.repair.vo.PlanAbarbeitungByContentVO;
import org.springblade.modules.repair.vo.PlanAbarbeitungDetailVO;
import org.springblade.modules.repair.vo.PlanAbarbeitungPageVO;

import java.util.List;
import java.util.Map;

public interface MaintainAbarbeitungDetailMapper extends BaseMapper<MaintainAbarbeitungDetail> {

	List<PlanAbarbeitungPageVO> selectPlanAbarbeitungPage(@Param("searchDTO") PlanAbarbeitungSearchDTO searchDTO, IPage<PlanAbarbeitungPageVO> page);

	Map<String, Object> selectPageCount();

	PlanAbarbeitungDetailVO selectDetail(Long planId);

	List<PlanAbarbeitungByContentVO> selectFromHistoryList(Long planId);

	@InterceptorIgnore(tenantLine = "on")
	List<PlanAbarbeitungByContentVO> selectAfterHistoryListByTemplateContent(Long planId);

	List<PlanAbarbeitungByContentVO> selectAfterHistoryListByCheckHistory(Long planId);

	List<FromPlanVO> selectZgFromPlan(List<Long> planIds);
}
